<?php
 Session_Start () ;
 If (!$_SESSION ["repertoire_config"]) { Header ("Location: ../../") ; }
 Include ("../../include/garennes.cfg") ;
 Include ("../../include/init.php") ;
 Include ("../include/config.inc") ;
 Include ("../../include/module_absences.cfg") ;
 verif_droits ($droit_courant, $_SESSION ["code"]) ;
 
 Include ("../../include/var_temp.inc") ;
 
 $methode = var_courante ("methode", 0, 0) ;

 // Definition des couleurs de fond
 $resultats = SQL_commande ("SELECT * FROM menus WHERE numero='".$droit_courant."' AND ordre='0'", $id_sql) ;
 $l = SQL_tableau_associatif ($resultats, "") ; 
 $coul [0] = $l ["nom"] ; // Couleur mois pair
 $coul [1] = $l ["couleur_fond"] ; // Couleur mois impair
 $coul [2] = $l ["lien"] ; // Couleur jour ferie
 $taille_police = $l ["titre"] ;
 
 $debut_annee = millesime (0) ;
 // Parcours les tranches de l'annee scolaire
 For ($i = 0 ; $i < $annee_scolaire [0][0] ; $i++)
  {
   $debut [$i] = $annee_scolaire [$i+1][0] ;
   $fin [$i] = $annee_scolaire [$i+1][1] ;
   $annee [$i] = $debut_annee+$annee_scolaire [$i+1][2] ;
  }
 
 If (IsSet ($methode))
  {
   // MAJ du calendrier
   Switch ($methode)
    {
     Case 1 : $semaine = 1 ;
              $ok = SQL_commande ("DELETE FROM abs_calendrier", $id_sql) ;
              For ($i = 0 ; $i < $annee_scolaire [0][0] ; $i ++)
               {
                For ($mois = $debut [$i] ; $mois <= $fin [$i] ; $mois++)
                 {
                  For ($jour = 1 ; $jour <= 31 ; $jour++)
                   {
                    If (CheckDate ($mois, $jour, $annee [$i]))
	             {
		      If ($mois < 10) { $m = "0".$mois ; } Else { $m = $mois ; }
		      If ($jour < 10) { $j = "0".$jour ; } Else { $j = $jour ; }
                      $v = var_courante ("j_".$annee [$i]."_".$m."_".$j, 0, 0) ;
                      $resultat = SQL_commande ("INSERT INTO abs_calendrier (date,ouvrable,semaine) VALUES ('".$annee [$i]."-".$m."-".$j."','".$v."','".$semaine."')", $id_sql) ;
                      $nj = Date ("w", MkTime (0, 0, 0, $mois, $jour, $annee [$i])) ;
	              If ($nj == 0) { $semaine++ ; }
	             }
	           }
                 }
               }
              $message = 1 ;
	      Break ;
     Case 2 : $resultat = SQL_commande ("UPDATE abs_calendrier SET ouvrable='0'", $id_sql) ;
              $message = 2 ;
	      Break ;
     Case 3 : $resultat = SQL_commande ("DELETE FROM abs_calendrier", $id_sql) ;
              $message = 2 ;
	      Break ;
    }
   // Nettoyage : Enleve les dates en doubles
   $resultats = SQL_commande ("SELECT id_abs_calendrier,date FROM abs_calendrier ORDER BY date,id_abs_calendrier", $id_sql) ;
   If (SQL_nbr_lignes ($resultats) > 0)
    {
     For ($i = 0 ; $i < SQL_nbr_lignes ($resultats) ; $i++)
      {
       $resul = SQL_ligne_suivante ($resultats) ;
       $ok = SQL_commande ("SELECT id_abs_calendrier FROM abs_calendrier WHERE date='".$resul [1]."' AND id_abs_calendrier!='".$resul [0]."' AND id_abs_calendrier>'".$resul [0]."'", $id_sql) ;
       If (SQL_nbr_lignes ($ok) > 0)
        {
         For ($j = 0 ; $j < SQL_nbr_lignes ($ok) ; $j++)
          {
           $r = SQL_ligne_suivante ($ok) ;
	   $ok = SQL_commande ("DELETE FROM abs_calendrier WHERE id_abs_calendrier='".$r [0]."' LIMIT 1", $id_sql) ;
  	  }
        }
      }
    }
  }
 
 Echo "<HTML><HEAD>" ;
 entete_html ("Garennes", "travail_affichage", 1) ;
 Echo styles ("none", "none", "none", $l ["lien"], "none") ;
 Include ("./abs_calendrier.js") ;
 Echo "</HEAD>" ;
 Echo "<BODY BACKGROUND=\"../images/fond.png\">" ;
 Echo "<CENTER><B>&Eacute;dition&nbsp;du&nbsp;calendrier&nbsp;scolaire.</B><BR>" ;
 Echo "<B>S&eacute;lectionner les jours ouvr&eacute;s.</B></CENTER>" ;
 If ($message)
  {
   Echo "  <CENTER><FONT COLOR=\"#FF0000\"><B><BLINK>" ;
   Switch ($message)
    {
     Case 1 : Echo "Mise&nbsp;en&nbsp;place&nbsp;du&nbsp;calendrier&nbsp;effectu&eacute;&nbsp;!" ;
              Break ;
     Case 2 : Echo "Effacement&nbsp;effectu&eacute;&nbsp;!" ;
              Break ;
     Case 3 : Echo "Mise&nbsp;en&nbsp;place&nbsp;du&nbsp;nouveau&nbsp;calendrier&nbsp;effectu&eacute;&nbsp;!" ;
              Break ;
    }
   Echo "</BLINK></B></FONT></CENTER>" ;
  }
 Echo "<TABLE BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\" WIDTH=\"100%\">" ;
 Echo "<TR>" ;
 Echo "<FORM ACTION=\"".$_SERVER ["PHP_SELF"]."\" METHOD=\"POST\">" ;
 Echo "<TD VALIGN=\"TOP\" WIDTH=\"100%\">" ;

 $table  = "<TABLE ALIGN=\"CENTER\" BORDER=\"0\" CELLPADDING=\"0\" CELLSPACING=\"0\">" ;
 $table .= "<TR BGCOLOR=\"".$coul [2]."\">" ;
 $table .= "<TD COLSPAN=\"47\" ALIGN=\"CENTER\"><B>Ann&eacute;e&nbsp;".$debut_annee."-".($debut_annee+1).".</B></TD>" ;
 $table .= "</TR>" ;
 $l1 = "<TR>" ;
 For ($i = $debut [0] ; $i <= $fin [0] ;$i++)
  {
   $l1 .= "<TD BGCOLOR=\"".$coul [0]."\" ALIGN=\"CENTER\" COLSPAN=\"3\"><FONT SIZE=\"".$taille_police."\"><B>".$debut_annee."</B></FONT></TD>" ;
   $l1 .= "<TD" ;
   If ($i < $fin [0]) { $l1 .= " BGCOLOR=\"".$coul [0]."\"" ; }
   $l1 .=">&nbsp;</TD>" ;
  }
 For ($i = $debut [1] ; $i <= $fin [1] ;$i++)
  {
   $l1 .= "<TD BGCOLOR=\"".$coul [1]."\" ALIGN=\"CENTER\" COLSPAN=\"3\"><FONT SIZE=\"".$taille_police."\"><B>".($debut_annee+1)."</B></FONT></TD>" ;
   If ($i < $fin [1]) { $l1 .= "<TD BGCOLOR=\"".$coul [1]."\">&nbsp;</TD>" ; }
  }
 $l1 .= "</TR>" ;
 $l2 = "<TR>" ;
 For ($i = $debut [0] ; $i <= $fin [0] ;$i++)
  {
   $l2 .= "<TD BGCOLOR=\"".$coul[$i%2]."\" ALIGN=\"CENTER\" COLSPAN=\"3\"><FONT SIZE=\"".$taille_police."\">&nbsp;<B>".$nom_mois [$i]."</B>&nbsp;</FONT></TD>" ;
   $l2 .= "<TD>&nbsp;</TD>" ;
  }
 For ($i = $debut [1] ; $i <= $fin [1] ;$i++)
  {
   $l2 .= "<TD BGCOLOR=\"".$coul[$i%2]."\" ALIGN=\"CENTER\" COLSPAN=\"3\"><FONT SIZE=\"".$taille_police."\">&nbsp;<B>".$nom_mois [$i]."</B>&nbsp;</FONT></TD>" ;
   If ($i < $fin [1]) { $l2 .= "<TD>&nbsp;</TD>" ; }
  }
 $l2 .= "</TR>" ;
 
 // Construction du calendrier
 $resultats = SQL_commande ("SELECT date,ouvrable FROM abs_calendrier ORDER BY date", $id_sql) ;
 If (SQL_nbr_lignes ($resultats) > 0)
  {
   For ($i = 0 ; $i < $annee_scolaire [0][0] ; $i ++)
    {
     For ($mois = $debut [$i] ; $mois <= $fin [$i] ; $mois++)
      {
       For ($jour = 1 ; $jour <= 31 ; $jour++)
        {
         $ouvrable [$jour][$mois][$annee [$i]] = 0 ;
        }
      }
    }
   For ($i = 0 ; $i < SQL_nbr_lignes ($resultats) ; $i++)
    {
     $r = SQL_tableau_associatif ($resultats, "") ;
     $d = Explode ("-", $r ["date"]) ;
     $ouvrable [(integer)$d [2]][(integer)$d [1]][(integer)$d [0]] = (integer)$r ["ouvrable"] ;
    }
  }
 Else
  {
   For ($i = 0 ; $i < $annee_scolaire [0][0] ; $i ++)
    {
     For ($mois = $debut [$i] ; $mois <= $fin [$i] ; $mois++)
      {
       For ($jour = 1 ; $jour <= 31 ; $jour++)
        {
         $ouvrable [$jour][$mois][$annee [$i]] = 0 ;
        }
      }
    }
  }

 // Fabrication du calendrier
 For ($i = 0 ; $i < $annee_scolaire [0][0] ; $i ++)
  {
   For ($mois = $debut [$i] ; $mois <= $fin [$i] ; $mois++)
    {
     For ($jour = 1 ; $jour <= 31 ; $jour++)
      {
       If (CheckDate ($mois, $jour, $annee [$i]))
        {
  	 $nj = Date ("w", MkTime (0,0,0,$mois, $jour, $annee [$i])) ;
         If ($ouvrable [$jour][$mois][$annee [$i]] == 1) { $couleur = $coul [$mois_actuel%2] ; } Else { $couleur = $coul [2] ; }
  	 $jours [$mois][$jour]  = "<TD BGCOLOR=\"".$couleur."\"><FONT SIZE=\"".$taille_police."\">&nbsp;".$jour."</FONT></TD>" ;
         $jours [$mois][$jour] .= "<TD BGCOLOR=\"".$couleur."\"><FONT SIZE=\"".$taille_police."\">&nbsp;" ;
	 If ($mois < 10) { $m = "0".$mois ; } Else { $m = $mois ; }
	 If ($jour < 10) { $j = "0".$jour ; } Else { $j = $jour ; }
         $jours [$mois][$jour] .= "<INPUT TYPE=\"CHECKBOX\" NAME=\"j_".$annee [$i]."_".$m."_".$j."\" VALUE=\"1\"" ;
         If ($ouvrable [$jour][$mois][$annee [$i]] == 1) { $jours [$mois][$jour] .= " CHECKED" ; }
         $jours [$mois][$jour] .= "></FONT></TD>" ;
         $jours [$mois][$jour] .= "<TD BGCOLOR=\"".$couleur."\"><FONT SIZE=\"".$taille_police."\">&nbsp;".SubStr ($nom_jour [$nj], 0, 1)."&nbsp;</FONT></TD>" ;
        }
       Else
        {
  	 $jours [$mois][$jour] = "<TD COLSPAN=\"3\"><FONT SIZE=\"".$taille_police."\">&nbsp;</FONT></TD>" ;
        }
      }
    }
  }

 // Construction du tableau final 
 $table .= $l1.$l2 ;
 For ($jour = 1 ; $jour <= 31 ; $jour++)
  {
   $table .= "<TR>" ;
   For ($i = 0 ; $i < 2 ; $i++)
    {
     For ($mois = $debut [$i] ; $mois <= $fin [$i] ; $mois++)
      {
       $table .= $jours [$mois][$jour] ;
       If ($mois != $fin [1]) { $table .= "<TD>&nbsp;</TD>" ; }
      }
    }
   $table .= "</TR>" ;
  }

 $table .= $l2.$l1 ;
 $table .= "<TR>" ;
 $table .= "<TD COLSPAN=\"47\" ALIGN=\"CENTER\">" ;
 $table .= "<INPUT TYPE=HIDDEN NAME=\"methode\" VALUE=\"1\">" ;
 $table .= "<INPUT TYPE=IMAGE SRC=\"../images/absences/valider.png\" VALUE=\"Valider les modifications.\"></TD>" ;
 $table .= "</TR>" ;
 $table .= "</FORM>" ;
 $table .= "<FORM ACTION=\"".$_SERVER ["PHP_SELF"]."\" METHOD=\"POST\" OnSubmit=\"javascript:return verif()\">" ;
 $table .= "<TR>" ;
 $table .= "<TD COLSPAN=\"47\" ALIGN=\"RIGHT\">" ;
 $table .= "<INPUT TYPE=\"HIDDEN\" NAME=\"methode\" VALUE=\"2\">" ;
 $table .= "<INPUT TYPE=\"SUBMIT\" VALUE=\"&Eacute;ffacer tous les jours ouvr&eacute;s\" NAME=\"submit\">" ;
 $table .= "</TD></TR>" ;
 $table .= "</FORM>" ;
 $table .= "<FORM ACTION=\"".$_SERVER ["PHP_SELF"]."\" METHOD=\"POST\" OnSubmit=\"javascript:return verif()\">" ;
 $table .= "<TR>" ;
 $table .= "<TD COLSPAN=\"47\" ALIGN=\"LEFT\">" ;
 $table .= "<INPUT TYPE=\"HIDDEN\" NAME=\"methode\" VALUE=\"3\">" ;
 $table .= "<INPUT TYPE=\"SUBMIT\" VALUE=\"Nouvelle ann&eacute;e scolaire\" NAME=\"submit\">" ;
 $table .= "</TD></TR></TABLE>" ;
 $table .= "</FORM>" ;
 Echo $table ;
 
 Echo "</TD></TR></TABLE>" ;
 Echo "</BODY></HTML>" ;
?>